from pydantic import BaseModel

from forward.modules.auth.config import TokenType

'''
iss (issuer)：发行者。
sub (subject)：主题，即该JWT所面向的对象。
aud (audience)：受众，即该JWT的目标接收者。
exp (expiration time)：过期时间。
nbf (not before)：生效时间。
iat (issued at)：签发时间。
jti (JWT ID)：唯一标识符。
'''


class PayloadSchema(BaseModel):
    iss: str
    sub: str
    aud: str
    exp: float
    nbf: float
    iat: float
    jti: str
    user_id: int | str | None
    token_type: TokenType
